package main

import (
	"fmt"
	"math"
)

/*
输入一个整数，输出该数二进制表示中1的个数。其中负数用补码表示。
*/

func main() {
	var input int
	//scan, err := fmt.Scan(&input)
	//if scan != 1 || err != nil {
	//	fmt.Println("输入出错, input = ", input)
	//	return
	//}
	input = math.MaxInt64
	fmt.Printf("%b\n", input)

	fmt.Println("结果：", numberOf1(input))
}

func numberOf1(input int) int {
	var count int

	for input != 0 {
		input = input & (input - 1)
		count++
	}

	return count
}
